/*
* Dateiname: %name: AuswahlkriteriumTO.java% 
* Version  : %version: 1.0% 
* Datum    : %date_created: 02.08.2009% 
* Erstellt durch LAGERPLAN company 
*/
package com.lagerplan.basisdienste.wissensbasis.data;


/**
 * <p>
 * Title:        AuswahlkriteriumTO<br>
 * Description:  Datencontainer zur Aufnahme der Auswahlkriterien-Spalte aus den Auswahlkriterien-*** Tabellen.<br>
 * Copyright:    Copyright (c) 2009<br>
 * Company:      LAGERPLAN
 * </p>.
 * 
 * @author  %author: Michael Felber%
 * @version %version: 1%
 */
public class AuswahlkriteriumTO {

	/** Das Feld benennung. */
	private String benennung;
	
	/** Das Feld id. */
	private Integer id;
	
	/** Das Feld intervall minimum. */
	private Integer intervallMinimum;
	
	/** Das Feld intervall maximum. */
	private Integer intervallMaximum;
	
	/** Das Feld diskreter wert. */
	private String diskreterWert;
	
	/**
	 * Instanziert ein neues Objekt der Klassse AuswahlkriteriumTO.
	 */
	public AuswahlkriteriumTO() {
		diskreterWert = null;
		intervallMinimum = null;
		intervallMaximum = null;
		benennung = null;
	}
	
	/**
	 * Instanziert ein neues Objekt der Klassse AuswahlkriteriumTO.
	 * 
	 * @param benennung - Bezeichner des Auswahlkriteriums
	 * @param id - Technischer Identifier
	 * @param minWert - Wertebereich Intervall Minimum
	 * @param maxWert - Wertebereich Intervall Maximum
	 * @param wert - Wertebereich Diskreter Wert
	 */
	public AuswahlkriteriumTO(String benennung, int id, int minWert, int maxWert,
			String wert) {
		super();
		this.benennung = benennung;
		this.id = id;
		this.intervallMinimum = minWert;
		this.intervallMaximum = maxWert;
		this.diskreterWert = wert;
	}

	/**
	 * Gibt Benennung zurueck.
	 * 
	 * @return Inhalt von: benennung
	 */
	public String getBenennung() {
		return benennung;
	}
	
	/**
	 * Belegt Benennung mit dem Wert benennung.
	 * 
	 * @param benennung - Der neue Wert von benennung
	 */
	public void setBenennung(String benennung) {
		this.benennung = benennung;
	}
	
	/**
	 * Gibt Id zurueck.
	 * 
	 * @return Inhalt von: id
	 */
	public int getId() {
		return id;
	}
	
	/**
	 * Belegt Id mit dem Wert id.
	 * 
	 * @param id - Der neue Wert von id
	 */
	public void setId(int id) {
		this.id = id;
	}
	
	/**
	 * Baut aus den Angaben zu intervallMinimum, intervallMaximum, diskreterWert eine Zeichenkette.
	 * 
	 * @return the string
	 */
	private String builtStringWertebereich(){
		
		StringBuffer zeichenkette = new StringBuffer();
		
		if(diskreterWert != null){
			zeichenkette.append(diskreterWert);
		}
		else{
			if(intervallMinimum != -1 && intervallMaximum != -1){
				zeichenkette.append(intervallMinimum);
				zeichenkette.append("<X<=");
				zeichenkette.append(intervallMaximum);
			}
			else if(intervallMinimum == -1 && intervallMaximum != -1){
				zeichenkette.append("X<=");
				zeichenkette.append(intervallMaximum);
			}
			else if(intervallMinimum != -1 && intervallMaximum == -1){
				zeichenkette.append("X>");
				zeichenkette.append(intervallMinimum);
			}
		}
		return zeichenkette.toString();
	}

	/**
	 * Gibt IntervallMinimum zurueck.
	 * 
	 * @return Inhalt von: intervallMinimum
	 */
	public Integer getIntervallMinimum() {
		return intervallMinimum;
	}

	/**
	 * Belegt IntervallMinimum mit dem Wert intervallMinimum.
	 * 
	 * @param intervallMinimum - Der neue Wert von intervallMinimum
	 */
	public void setIntervallMinimum(Integer intervallMinimum) {
		this.intervallMinimum = intervallMinimum;
	}

	/**
	 * Gibt IntervallMaximum zurueck.
	 * 
	 * @return Inhalt von: intervallMaximum
	 */
	public Integer getIntervallMaximum() {
		return intervallMaximum;
	}

	/**
	 * Belegt IntervallMaximum mit dem Wert intervallMaximum.
	 * 
	 * @param intervallMaximum - Der neue Wert von intervallMaximum
	 */
	public void setIntervallMaximum(Integer intervallMaximum) {
		this.intervallMaximum = intervallMaximum;
	}

	/**
	 * Gibt DiskreterWert zurueck.
	 * 
	 * @return Inhalt von: diskreterWert
	 */
	public String getDiskreterWert() {
		return diskreterWert;
	}

	/**
	 * Belegt DiskreterWert mit dem Wert diskreterWert.
	 * 
	 * @param diskreterWert - Der neue Wert von diskreterWert
	 */
	public void setDiskreterWert(String diskreterWert) {
		this.diskreterWert = diskreterWert;
	}

	/**
	 * Belegt Id mit dem Wert id.
	 * 
	 * @param id - Der neue Wert von id
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * Constructs a <code>String</code> with all attributes
	 * in name = value format.
	 * 
	 * @return a <code>String</code> representation
	 * of this object.
	 */
	public String toString()
	{
	    final String TAB = "    ";
	    
	    String retValue = "";
	    
	    retValue = "AuswahlkriteriumTO ( "
	        + super.toString() + TAB
	        + "benennung = " + this.benennung + TAB
	        + "id = " + this.id + TAB
	        + "intervallMinimum = " + this.intervallMinimum + TAB
	        + "intervallMaximum = " + this.intervallMaximum + TAB
	        + "diskreterWert = " + this.diskreterWert + TAB
	        + " )";
	
	    return retValue;
	}

}
